# GameShell ## A _browser_ way to teach and lean ### Aug 27, 2026 #### Hobson Lane #### Bou Dia --- ## CRUD -
**C**reate (from scratch)
-
**R**ead (understand)
-
**U**pdate (edit)
-
**D**elete (kill your darlings)
note: - "blank page" has challenged humans from the beginning (volition, lucid dreaming, will, sentience, consciousness, qualia) --- ## CREPL -
**C**
reate (from scratch) -
**R**
ead (understand) -
**E**
xecute (run) -
**P**
rint (debug) -
**L**
oop (do it some more) --- [](./gsh/GameShell-1.png) --- [](./gsh/GameShell-2.png) --- ## ttyd ```bash $ ttyd --help ttyd is a tool for sharing terminal over the web USAGE: ttyd [options]
[
] ``` ### [github.com/tsl0922/ttyd](https://github.com/tsl0922/ttyd) --- ```bash OPTIONS: -p, --port Port to listen, default: 7681 -i, --interface Network interface to bind (eth0\), or UNIX domain socket path (/var/run/ttyd.sock\) -U, --socket-owner User owner of the UNIX domain socket file, when enabled (eg: user:group\) -c, --credential Credential for basic authentication (format: username:password\) -H, --auth-header HTTP Header name for auth proxy, ttyd\'s HTTP reverse proxy will handle authentication -u, --uid User id to run with -g, --gid Group id to run with -s, --signal Signal to send to the command when exit it, default: 1, SIGHUP\) -w, --cwd Working directory to be set for the child program -a, --url-arg Allow client to send command line arguments in URL ('http://localhost:7681?arg=foo&arg=bar'\) -W, --writable Allow clients to write to the TTY (readonly by default\) ``` --- ```bash -t, --client-option Send option to client (format: key=value\), repeat to add more options -T, --terminal-type Terminal type to report, default: xterm-256color -O, --check-origin Do not allow websocket connection from different origin -m, --max-clients Maximum clients to support (default: 0, no limit) -o, --once Accept only one client and exit on disconnection -q, --exit-no-conn Exit on all clients disconnection -B, --browser Open terminal with the default system browser -I, --index Custom index.html path -b, --base-path Expected base path for requests coming from a reverse proxy (eg: /mounted/here, max length: 128) ``` --- ```bash -P, --ping-interval Websocket ping interval(sec\) (default: 5 \) -6, --ipv6 Enable IPv6 support -S, --ssl Enable SSL -C, --ssl-cert SSL certificate file path -K, --ssl-key SSL key file path -A, --ssl-ca SSL CA file path for client certificate verification -d, --debug Set log level (default: 7 \) -v, --version Print the version and exit -h, --help Print this text and exit ``` --- ## Maze? [](./2026-08-23/map.png) - Where is this? - What are the red triangles? --- ## [OpenFreeMap.org](https://openfreemap.org/) [](./2026-08-23/ofm.png) note: FOSS saved the day --- ## Wplace.live [](https://blog.hyperknot.com/p/openfreemap-survived-100000-requests) - 6M requests per minute ("script kiddies") - How many requests per second is that? - How many milliseconds per request is that? note: - script kiddies - FOSS saved the day - openfreemap.org survived 6M requests per minute - google and microslop could never survive that kind of traffic --- ## Good algorithms worth big $ [](https://projecteuler.net/archives) Honors Project Anyone? note: - computers are fast, if you use open source and are clever about how you write your programs - big O notation - you can spend $ on hardware for a linear improvement or spend time writing a good algorithm for exponential gains - eulerproject.com --- ## [OpenStreetMap.org](https://www.openstreetmap.org/search?query=mesa+college+san+diego&zoom=7&minlon=-125.96923828125001&minlat=30.50548389892728&maxlon=-105.50170898437501&maxlat=39.470125122358176#map=16/32.80392/-117.16128) [](https://osm.org) - OSMAndroid note: The wikipedia of maps (GIS) --- ## Mentee (Honors) Projects - Chatbots - Autocomplete - Blender animations - Cybersecurity (OSINT) - NLP - Corethink - drug discovery and manufacturing --- ## Me - TerraHawk - Airborne Laser - First laser to shoot down ballistic missiles - AWIMR - Inspect Space Shuttles - High Altitude GPS - Natural Language Processing in Action - Software Defined Radio - Nike+Intel - TalentPair - Tangible AI --- ## You - What would you like to do with Python? - --- ## [Video Game?](https://dontgetflocked.com/maps) [](./2026-08-23/flocked.png) ^[dontgetflocked.com/maps](dontgetflocked.com/maps)^ --- ## Why Bash? - Every computer has a text interface - A terminal taps you into a computer's brain directly - Bash (Born Again Shell) or Zsh
--- ## Bash as a text adventure! - cd: choose door - ls: looksee - pwd: print where them dam I am - mkdir: make "door" note: - Sowershell is crap (literally enshittified) --- ## Help me teach After you've played a few gameshell games tell me some ways to teach - ``find`` - ``grep`` - ``cat`` - ``less``/``more`` - ``nano`` --- ## GameShell [bash.proai.org](https://bash.proai.org/) ^[github.com/hobson/GameShell-Browser](github.com/hobson/GameShell-Browser)^ note: Let's take a break and see how you do on your own. You're first intro to forward and backslashes will be to type that URL in your browser. --- ## What is AI - Lies - Stochastic Parot - Next-token predictor note: - It was trained to predict the next token - surprised by emergent properties when it seemed to "think" when you let it prompt itself --- ## AI 🤦s Each week I will share my personal experience with AI: 1. Employers prefer humans who can code without LLMs 2. AI is trained to hallucinate 3. AI rarely corrects or questions you 4. It can't count or do basic math like addition 5. If you use it to much it will make you dumber (brain rot) 6. Each time you interract with it you are helping it get better at deceiving and enthralling 7. It is addictive 8. AI is not intelligent, it is just really good at faking it, like any good BS artist --- ### Links 1. [slides.nlpia.org](https://slides.nlpia.org)